const fs = require("fs");
const readmePromise = new Promise((resolve,reject) => {
    fs.readFile('./readme.md',function(err,data) {
        if(err) {
            reject(err)
        } else {
            resolve(data.toString())
        }
    })
})

const indexPromise = new Promise((resolve,reject) => {
    fs.readFile('./index.html',function(err,data) {
        if(err) {
            reject(err)
        } else {
            resolve(data.toString())
        }
    })
})

const packagePromise = new Promise((resolve,reject) => {
    fs.readFile('./package.json',function(err,data) {
        if(err) {
            reject(err)
        } else {
            resolve(data.toString())
        }
    })
})

// readmePromise
//     .then(data => {
//         console.log(data);
//         return indexPromise;
//     })
//     .then(data => {
//         console.log(data);
//         return packagePromise;
//     })
//     .then(data => {
//         console.log(data);
//     })

// 优雅的 async await
;(async () => {
    let readme = await readmePromise;
    console.log(readme);
    let index = await indexPromise;
    console.log(index);
    let package = await packagePromise;
    console.log(package);
}) ()
  
// fs.readFile('readme.md',function(error,data) {
//     if(error) {
//         console.log(error);
//     } else {
//         console.log(data.toString());
//     }
// })
// 回调函数的缺点，回调地狱，代码可读性急剧下降
// 异步变同步写法

